using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Rotempco.Core.ORM.Objects.Enums;

namespace Rotempco.Core.ORM.Objects
{
    public class ORMParameter
    {
        public string ColumnName { get; set; }
        public string PropertyName { get; set; }
        public Type Type { get; set; }
        public EncryptionTypeEnum EncryptionType { get; set; }
        public bool DeletedProperty { get; set; }
        public bool SerializableObject { get; set; }
        public bool IgnoreProperty { get; set; }
        public string SerializableRootName { get; set; }

        public ORMParameter(string columnName, SymbolPair symbolPair, EncryptionTypeEnum encryptionType = EncryptionTypeEnum.ClearText, bool deletedProperty = false, bool serializableObject = false, string serializableRootName = null, bool ignoreProperty = false)
        {
            ColumnName = columnName;
            PropertyName = symbolPair.PropertyName;
            Type = symbolPair.PropertyType;
            EncryptionType = encryptionType;
            DeletedProperty = deletedProperty;
            SerializableObject = serializableObject;
            SerializableRootName = serializableRootName;
            IgnoreProperty = ignoreProperty;
        }
    }
}
